#ifndef COLORED_CUBE_APP_H
#define COLORED_CUBE_APP_H

//=============================================================================
//
// Demonstrates coloring.
//
// Controls:
//		'A'/'D'/'W'/'S' - Rotate 
//
//=============================================================================

#include "d3dApp.h"
#include "Box.h"

namespace D3D10
{
	class LightingApp : public D3DApp
	{
	public:
		LightingApp(const HINSTANCE hInstance);
		~LightingApp();
	
		void initApp();
		void onResize();
		void updateScene(const float deltaTime);
		void drawScene(); 
	
	private:
		void buildFX();
		void buildVertexLayouts();
	
	private:	
		D3D10Utils::Box mGrid;
	
		ID3D10Effect *mEffect;
		ID3D10EffectTechnique *mTechnique;
		ID3D10InputLayout *mVertexLayout;
		ID3D10EffectMatrixVariable* mEffectWVPVariable;
	
		D3DXMATRIX mView;
		D3DXMATRIX mProjection;
		D3DXMATRIX mWorld;
		D3DXMATRIX mWVP;
			
		float mTheta;
		float mPhi;
	};
}

#endif // COLORED_CUBE_APP_H
